Skip to content

fix(dependencies): 🐛 reorganize dependencies #125

Merged
SongshGeo merged 4 commits intomasterfrom
dev
Oct 29, 2025
Merged

fix(dependencies): 🐛 reorganize dependencies #125
SongshGeo merged 4 commits intomasterfrom
dev

Conversation

@SongshGeo
Copy link
Copy Markdown
Collaborator

@SongshGeo SongshGeo commented Oct 29, 2025

So that mkdocs-jupyter is not required anymore.

Summary by CodeRabbit

  • Chores

    • Bumped project version to 0.9.0.
    • Moved documentation tooling out of core install into an optional "docs" group for leaner runtime installs.
    • CI workflows updated to include the docs group when running documentation/dev-related steps.
  • Documentation

    • Added a 0.9.0 changelog entry summarizing features, fixes, and docs updates.
  • Bug Fixes

    • Improved reliability of geometry-based selection logic.

github-actions Bot and others added 2 commits October 29, 2025 10:34
…ct.toml so that mkdocs-jupyter is not required anymore

This commit refactors the `pyproject.toml` file to separate documentation-related dependencies into an optional group. The previous direct dependencies for documentation tools have been moved under `[project.optional-dependencies]` to enhance clarity and organization. Additionally, the version constraints for `mkdocs` and related plugins have been updated to ensure compatibility and improve the documentation build process.
@SongshGeo SongshGeo changed the title fix(dependencies): 🐛 reorganize documentation dependencies in pyproject.toml so that mkdocs-jupyter is not required anymore This commit refactors the pyproject.toml file to separate documentation-related dependencies into an optional group. The previous direct dependencies for documentation tools have been moved under [project.optional-dependencies] to enhance clarity and organization. Additionally, the version constraints for mkdocs and related plugins have been updated to ensure compatibility and improve the documentation build process. fix(dependencies): 🐛 reorganize dependencies Oct 29, 2025
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Oct 29, 2025

Note

Currently processing new changes in this PR. This may take a few minutes, please wait...

📥 Commits

Reviewing files that changed from the base of the PR and between c9b99fe and 7b7ed83.

⛔ Files ignored due to path filters (1)
  • uv.lock is excluded by !**/*.lock
📒 Files selected for processing (1)
  • abses/space/patch.py (2 hunks)
 _________________________________________________________________________________________________
< I reached into your code and found nothing there to ease the pressure on my ever-worrying mind. >
 -------------------------------------------------------------------------------------------------
  \
   \   \
        \ /\
        ( )
      .( o ).

Walkthrough

Adds a 0.9.0 release entry to the changelog, bumps project version to 0.9.0, moves docs-related dependencies out of main dependencies into a new optional docs group (and a docs dev group), and updates CI workflows to install the docs group during dependency sync.

Changes

Cohort / File(s) Summary
Release Documentation
CHANGELOG.md
Adds a new 0.9.0 release entry listing features, bug fixes, and documentation updates (purely additive).
Project Manifest
pyproject.toml
Bumps project version from 0.7.5 to 0.9.0; removes docs tooling (e.g., solara, mkdocs, mkdocs-jupyter, mkdocstrings, mkdocs-static-i18n) from [project.dependencies]; introduces [project.optional-dependencies] with a docs group containing MkDocs, plugins, and related tools; adds/aligns a docs dependency-group for dev use.
CI Workflows
.github/workflows/gh-page.yml, .github/workflows/test-notebooks.yml
Changes dependency installation steps from uv sync --dev to uv sync --group docs --dev so CI installs the optional docs group alongside dev dependencies; control flow otherwise unchanged.

Sequence Diagram(s)

sequenceDiagram
    participant CI as CI job
    participant UV as uv (dependency manager)
    participant Runner as Runner environment

    rect rgb(240,248,255)
    note left of CI: Previous flow
    CI->>UV: uv sync --dev
    UV->>Runner: install dev dependencies
    end

    rect rgb(245,255,240)
    note left of CI: New flow (changed)
    CI->>UV: uv sync --group docs --dev
    UV->>Runner: install dev + docs optional group
    end
Loading

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20–30 minutes

  • Verify removal of solara and other docs deps from runtime dependencies does not break runtime imports or packaging.
  • Confirm all docs tooling listed in [project.optional-dependencies] and the dev docs group match intended versions and no duplicates/conflicts remain.
  • Check CI changes install the intended packages and that any conditionals (e.g., GH_TOKEN-based installs) still behave correctly.
  • Quick scan of changelog content for accuracy and formatting.

Poem

🐰 I hopped through manifest fields at dawn,
Moved docs to nests where they belong,
Bumped the version, penned the notes,
CI now fetches petals and coats.
Hooray for tidy hops—release day’s song!

Pre-merge checks and finishing touches

❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. You can run @coderabbitai generate docstrings to improve docstring coverage.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The PR title "fix(dependencies): 🐛 reorganize dependencies" is directly related to the main changes in the pull request. The changeset restructures project dependencies by moving docs-related packages from main dependencies to an optional docs group, and updates GitHub workflows accordingly. The title accurately captures the primary action being taken (reorganizing dependencies). However, the title is somewhat generic and doesn't convey the specific purpose or benefit of the reorganization—that mkdocs-jupyter is no longer required as a main dependency. Additionally, the :bug: emoji is unnecessary noise per the guidance to avoid emojis in titles.

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
pyproject.toml (1)

51-74: Minor: Inconsistent package ordering between [project.optional-dependencies] and [dependency-groups] docs groups.

The two docs dependency groups define the same 20 packages with identical version constraints, but in different orders (e.g., mike appears at line 71 in project.optional-dependencies but at line 124 in dependency-groups). While this doesn't break functionality, consistent ordering reduces cognitive load and potential merge conflicts.

Align the package ordering between both groups. Here's the recommended order (sorted alphabetically within groups):

# Apply to [dependency-groups] docs section (lines 110-131)
-docs = [
-    "mkdocs>=1.6.1",
-    "mkdocs-git-revision-date-localized-plugin>=1.2.0",
-    "mkdocs-minify-plugin>=0.7.1",
-    "mkdocs-redirects>=1.2.1",
-    "mkdocs-awesome-pages-plugin>=2.9.2",
-    "mkdocs-git-authors-plugin>=0.7.2",
-    "mkdocstrings>=0.30.1",
-    "mkdocstrings[python]>=0.24.0",
-    "mkdocs-bibtex>=2.11.0",
-    "mkdocs-macros-plugin>=1.0.4",
-    "mkdocs-jupyter>=0.25.1",
-    "mkdocs-callouts>=1.9.1",
-    "mkdocs-glightbox>=0.3.4",
-    "mike>=2.0.0",
-    "mkdocs-exclude>=1.0.2",
-    "mkdocs-simple-hooks>=0.1.5",
-    "pymdown-extensions>=10.7",
-    "mkdocs-static-i18n>=1.3.0",
-    "nbmake>=1.5.5",
-    "nbconvert>=7.16.6",
-]
+docs = [
+    "mkdocs>=1.6.1",
+    "mkdocs-awesome-pages-plugin>=2.9.2",
+    "mkdocs-bibtex>=2.11.0",
+    "mkdocs-callouts>=1.9.1",
+    "mkdocs-exclude>=1.0.2",
+    "mkdocs-git-authors-plugin>=0.7.2",
+    "mkdocs-git-revision-date-localized-plugin>=1.2.0",
+    "mkdocs-glightbox>=0.3.4",
+    "mkdocs-jupyter>=0.25.1",
+    "mkdocs-macros-plugin>=1.0.4",
+    "mkdocs-minify-plugin>=0.7.1",
+    "mkdocs-redirects>=1.2.1",
+    "mkdocs-simple-hooks>=0.1.5",
+    "mkdocs-static-i18n>=1.3.0",
+    "mkdocstrings>=0.30.1",
+    "mkdocstrings[python]>=0.24.0",
+    "mike>=2.0.0",
+    "nbconvert>=7.16.6",
+    "nbmake>=1.5.5",
+    "pymdown-extensions>=10.7",
+]

Also applies to: 109-131

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 055f573 and 6e1dd9e.

📒 Files selected for processing (2)
  • CHANGELOG.md (1 hunks)
  • pyproject.toml (3 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
{pyproject.toml,uv.lock}

📄 CodeRabbit inference engine (.cursorrules)

Manage dependencies with uv and virtual environments; configure in pyproject.toml and maintain uv.lock

Files:

  • pyproject.toml
{ruff.toml,pyproject.toml}

📄 CodeRabbit inference engine (.cursorrules)

Enforce code style with Ruff (configure via ruff.toml or [tool.ruff] in pyproject.toml)

Files:

  • pyproject.toml
🪛 markdownlint-cli2 (0.18.1)
CHANGELOG.md

14-14: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)


14-14: Strong style
Expected: asterisk; Actual: underscore

(MD050, strong-style)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (7)
  • GitHub Check: Tests 3.13 on windows-latest
  • GitHub Check: Tests 3.13 on macos-latest
  • GitHub Check: Tests 3.12 on windows-latest
  • GitHub Check: Tests 3.11 on macos-latest
  • GitHub Check: Tests 3.12 on macos-latest
  • GitHub Check: Tests 3.13 on ubuntu-latest
  • GitHub Check: Tests 3.11 on windows-latest
🔇 Additional comments (4)
CHANGELOG.md (1)

3-26: ✓ CHANGELOG format is well-structured and complete.

The 0.9.0 release entry follows the established changelog format with proper commit links, release tag comparison, and organized sections (Features, Bug Fixes, Documentation). No concerns here.

pyproject.toml (3)

12-12: ✓ Version bump to 0.9.0 is properly reflected.

The project version is correctly updated from 0.7.5 to 0.9.0, aligning with the CHANGELOG entry and PR objectives.


26-44: ✓ Documentation dependencies successfully moved to optional-dependencies.

All mkdocs-related packages and documentation tooling have been correctly migrated from [project.dependencies] to [project.optional-dependencies][docs], reducing the runtime installation footprint. The main dependencies list now contains only essential runtime packages.

Also applies to: 51-74


109-131: ✓ Dedicated [dependency-groups] docs section for development builds.

The new docs group under [dependency-groups] correctly provides a development-time convenience for installing documentation dependencies via uv sync --group docs. This complements the distribution-time [project.optional-dependencies] and follows uv best practices.

Comment thread pyproject.toml
Comment on lines +60 to +61
"mkdocstrings>=0.30.1",
"mkdocstrings[python]>=0.24.0",
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor

Fix version constraint inconsistency for mkdocstrings[python].

The base mkdocstrings>=0.30.1 requires version 0.30.1 or higher, but mkdocstrings[python]>=0.24.0 only requires 0.24.0. The extras version should match the base requirement to ensure consistency.

Apply this diff to align the version constraints:

- "mkdocstrings[python]>=0.24.0",
+ "mkdocstrings[python]>=0.30.1",

This change should be applied at both locations (line 61 and line 118).

Also applies to: 117-118

🤖 Prompt for AI Agents
In pyproject.toml around lines 60-61 and 117-118, the version constraint for the
extras entry "mkdocstrings[python]>=0.24.0" is inconsistent with the base
"mkdocstrings>=0.30.1"; update both occurrences so the extras match the base
requirement (e.g., change "mkdocstrings[python]>=0.24.0" to
"mkdocstrings[python]>=0.30.1") to ensure consistent versioning across the file.

…ependencies

This commit modifies the GitHub Actions workflows for both documentation deployment and notebook testing. The installation commands for dependencies are updated to use `uv sync --group docs --dev`, ensuring that the necessary documentation tools, including mkdocs and related plugins, are installed correctly. This change enhances the clarity and efficiency of the CI/CD process for documentation management.
…al dependencies in uv.lock

This commit updates the version of the "abses" package to 0.9.0 and reorganizes the optional dependencies in the `uv.lock` file. Documentation-related dependencies have been grouped under `[package.optional-dependencies]`, enhancing clarity and organization. Additionally, several development dependencies have been added or updated to ensure compatibility and improve the development workflow.
@SongshGeo SongshGeo merged commit 9ed5049 into master Oct 29, 2025
11 of 14 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant